﻿<%@ Page Title="Cafetería" Language="C#" MasterPageFile="~/Modulos/ModuloConsumo/VistaControl/MasterPageConsumo.master" AutoEventWireup="true" CodeFile="productoGratuito.aspx.cs" Inherits="Modulos_ModuloConsumo_VistaControl_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <h2>Administrador de Productos Gratuitos</h2>
    <br />
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
        DeleteCommand="DELETE FROM [PRODUCTO_GRATUITO] WHERE [ID_PRODUCTO] = @ID_PRODUCTO" 
        InsertCommand="INSERT INTO [dbo].[PRODUCTO_GRATUITO] ([ID_TIPO_PROD], [NOMBRE_PRODUCTO], [STOCK_PRODUCTO], [PRECIO_MAXIMO], [PROD_HABILITADO]) VALUES (@ID_TIPO_PROD, @NOMBRE_PRODUCTO, @STOCK_PRODUCTO, @PRECIO_MAXIMO, @PROD_HABILITADO)

UPDATE [dbo].[TIPO_PRODUCTO] SET [NOMBRE_TIPO_PROD] = [NOMBRE_TIPO_PROD], [STOCK_TIPO_PRODUCTO] = [STOCK_TIPO_PRODUCTO] + @STOCK_PRODUCTO, [PRECIO_MAXIMO_TIPO] = [PRECIO_MAXIMO_TIPO], [STOCK_MINIMO_TIPO] = [STOCK_MINIMO_TIPO] WHERE (([ID_TIPO_PROD] = @ID_TIPO_PROD))" 
        ProviderName="<%$ ConnectionStrings:AppCeiiConnectionString.ProviderName %>" 
        SelectCommand="SELECT [ID_PRODUCTO], [ID_TIPO_PROD], [NOMBRE_PRODUCTO], [STOCK_PRODUCTO], [PRECIO_MAXIMO], [PROD_HABILITADO] FROM [PRODUCTO_GRATUITO]" 
        
        UpdateCommand="UPDATE [PRODUCTO_GRATUITO] SET [ID_TIPO_PROD] = @ID_TIPO_PROD, [NOMBRE_PRODUCTO] = @NOMBRE_PRODUCTO, [STOCK_PRODUCTO] = @STOCK_PRODUCTO, [PRECIO_MAXIMO] = @PRECIO_MAXIMO, [PROD_HABILITADO] = @PROD_HABILITADO WHERE [ID_PRODUCTO] = @ID_PRODUCTO">
        <DeleteParameters>
            <asp:Parameter Name="ID_PRODUCTO" Type="Decimal" />
        </DeleteParameters>
        <InsertParameters>
            <asp:Parameter Name="ID_TIPO_PROD" Type="Decimal" />
            <asp:Parameter Name="NOMBRE_PRODUCTO" Type="String" />
            <asp:Parameter Name="STOCK_PRODUCTO" Type="Int32" />
            <asp:Parameter Name="PRECIO_MAXIMO" Type="Int32" />
            <asp:Parameter Name="PROD_HABILITADO" Type="Boolean" />
        </InsertParameters>
        <UpdateParameters>
            <asp:Parameter Name="ID_TIPO_PROD" Type="Decimal" />
            <asp:Parameter Name="NOMBRE_PRODUCTO" Type="String" />
            <asp:Parameter Name="STOCK_PRODUCTO" Type="Int32" />
            <asp:Parameter Name="PRECIO_MAXIMO" Type="Int32" />
            <asp:Parameter Name="PROD_HABILITADO" Type="Boolean" />
            <asp:Parameter Name="ID_PRODUCTO" Type="Decimal" />
        </UpdateParameters>
    </asp:SqlDataSource>
    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
        AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID_PRODUCTO" 
        DataSourceID="SqlDataSource1" 
        EmptyDataText="No hay registros de datos para mostrar.">
        <Columns>
            <asp:BoundField DataField="ID_PRODUCTO" HeaderText="ID" ReadOnly="True" 
                SortExpression="ID_PRODUCTO" />
            <asp:TemplateField HeaderText="ID Tipo" SortExpression="ID_TIPO_PROD">
                <EditItemTemplate>
                    <asp:DropDownList ID="DropDownList2" runat="server"
                        DataSourceID="SqlDataSource1"
                        DataTextField="NOMBRE_TIPO_PROD"
                        SelectedValue='<%# Bind("ID_TIPO_PROD") %>'
                        DataValueField="ID_TIPO_PROD" Height="16px">
                    </asp:DropDownList>
                    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                        ConnectionString="Data Source=HECTOR;Initial Catalog=AppCeii;Integrated Security=True" 
                        ProviderName="System.Data.SqlClient" 
                        SelectCommand="SELECT [ID_TIPO_PROD], [NOMBRE_TIPO_PROD], [STOCK_TIPO_PRODUCTO], [PRECIO_MAXIMO_TIPO], [STOCK_MINIMO_TIPO] FROM [TIPO_PRODUCTO]">
                    </asp:SqlDataSource>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:DropDownList ID="DropDownList3" runat="server"
                        DataSourceID="SqlDataSource1"
                        SelectedValue='<%# Bind("ID_TIPO_PROD") %>'
                        DataTextField="NOMBRE_TIPO_PROD"
                        Enabled="False"
                        DataValueField="ID_TIPO_PROD" AutoPostBack="True">
                    </asp:DropDownList>
                    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                        ConnectionString="Data Source=HECTOR;Initial Catalog=AppCeii;Integrated Security=True" 
                        ProviderName="System.Data.SqlClient" 
                        SelectCommand="SELECT [ID_TIPO_PROD], [NOMBRE_TIPO_PROD], [STOCK_TIPO_PRODUCTO], [PRECIO_MAXIMO_TIPO], [STOCK_MINIMO_TIPO] FROM [TIPO_PRODUCTO]">
                    </asp:SqlDataSource>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Nombre" SortExpression="NOMBRE_PRODUCTO">
                <EditItemTemplate>
                    <asp:TextBox ID="NOMBRE_PRODUCTOTextBox1" runat="server" 
                        Text='<%# Bind("NOMBRE_PRODUCTO") %>' Width="130px"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredNOMBRE_PRODUCTOValidator1" 
                        runat="server" ControlToValidate="NOMBRE_PRODUCTOTextBox1" Display="Dynamic" 
                        ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("NOMBRE_PRODUCTO") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Stock" SortExpression="STOCK_PRODUCTO">
                <EditItemTemplate>
                    <asp:TextBox ID="STOCK_PRODUCTOTextBox1" runat="server" 
                        Text='<%# Bind("STOCK_PRODUCTO") %>' Width="25px"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredSTOCK_PRODUCTOValidator1" 
                        runat="server" ControlToValidate="STOCK_PRODUCTOTextBox1" Display="Dynamic" 
                        ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="ExpressionSTOCK_PRODUCTOValidator1" 
                        runat="server" ControlToValidate="STOCK_PRODUCTOTextBox1" Display="Dynamic" 
                        ErrorMessage="* Campo Numérico" ValidationExpression="\d+"></asp:RegularExpressionValidator>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label3" runat="server" Text='<%# Bind("STOCK_PRODUCTO") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Precio Maximo" SortExpression="PRECIO_MAXIMO">
                <EditItemTemplate>
                    <asp:TextBox ID="PRECIO_MAXIMOTextBox1" runat="server" 
                        Text='<%# Bind("PRECIO_MAXIMO") %>' Width="80px"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredPRECIO_MAXIMOValidator1" 
                        runat="server" ControlToValidate="PRECIO_MAXIMOTextBox1" Display="Dynamic" 
                        ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="ExpressionPRECIO_MAXIMOValidator1" 
                        runat="server" ControlToValidate="PRECIO_MAXIMOTextBox1" Display="Dynamic" 
                        ErrorMessage="* Campo Numérico" ValidationExpression="\d+"></asp:RegularExpressionValidator>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label4" runat="server" Text='<%# Bind("PRECIO_MAXIMO") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:CheckBoxField DataField="PROD_HABILITADO" HeaderText="Estado" 
                SortExpression="PROD_HABILITADO" />
            <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
        </Columns>
    </asp:GridView>
    <asp:FormView ID="FormView1" runat="server" DataKeyNames="ID_PRODUCTO" 
        DataSourceID="SqlDataSource1">
        <EditItemTemplate>
            ID_PRODUCTO:
            <asp:Label ID="ID_PRODUCTOLabel1" runat="server" 
                Text='<%# Eval("ID_PRODUCTO") %>' />
            <br />
            ID_TIPO_PROD:
            <asp:TextBox ID="ID_TIPO_PRODTextBox" runat="server" 
                Text='<%# Bind("ID_TIPO_PROD") %>' />
            <br />
            NOMBRE_PRODUCTO:
            <asp:TextBox ID="NOMBRE_PRODUCTOTextBox" runat="server" 
                Text='<%# Bind("NOMBRE_PRODUCTO") %>' />
            <br />
            STOCK_PRODUCTO:
            <asp:TextBox ID="STOCK_PRODUCTOTextBox" runat="server" 
                Text='<%# Bind("STOCK_PRODUCTO") %>' />
            <br />
            PRECIO_MAXIMO:
            <asp:TextBox ID="PRECIO_MAXIMOTextBox" runat="server" 
                Text='<%# Bind("PRECIO_MAXIMO") %>' />
            <br />
            PROD_HABILITADO:
            <asp:CheckBox ID="PROD_HABILITADOCheckBox" runat="server" 
                Checked='<%# Bind("PROD_HABILITADO") %>' />
            <br />
            <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" 
                CommandName="Update" Text="Actualizar" />
            &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server" 
                CausesValidation="False" CommandName="Cancel" Text="Cancelar" />
        </EditItemTemplate>
        <InsertItemTemplate>
            <table style="width:100%;">
                <tr>
                    <td class="style1">
                        Id Tipo</td>
                    <td class="style2">
                        :</td>
                    <td>
                        <asp:DropDownList ID="DropDownList1" runat="server"
                            DataSourceID="SqlDataSource1"
                            DataTextField="NOMBRE_TIPO_PROD"
                            SelectedValue='<%# Bind("ID_TIPO_PROD") %>'
                            DataValueField="ID_TIPO_PROD">
                        </asp:DropDownList>
                        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                            ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
                            SelectCommand="SELECT [ID_TIPO_PROD], [NOMBRE_TIPO_PROD], [STOCK_TIPO_PRODUCTO], [PRECIO_MAXIMO_TIPO], [STOCK_MINIMO_TIPO] FROM [TIPO_PRODUCTO]">
                        </asp:SqlDataSource>
                    </td>
                </tr>
                <tr>
                    <td class="style1">
                        Nombre</td>
                    <td class="style2">
                        :</td>
                    <td>
                        <asp:TextBox ID="NOMBRE_PRODUCTOTextBox" runat="server" 
                            Text='<%# Bind("NOMBRE_PRODUCTO") %>' />
                        <asp:RequiredFieldValidator ID="RequiredNOMBRE_PRODUCTOValidator" 
                            runat="server" ControlToValidate="NOMBRE_PRODUCTOTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td class="style1">
                        Stock</td>
                    <td class="style2">
                        :</td>
                    <td>
                        <asp:TextBox ID="STOCK_PRODUCTOTextBox" runat="server" 
                            Text='<%# Bind("STOCK_PRODUCTO") %>' />
                        <asp:RegularExpressionValidator ID="ExpressionSTOCK_PRODUCTOValidator" 
                            runat="server" ControlToValidate="STOCK_PRODUCTOTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Numérico" ValidationExpression="\d+"></asp:RegularExpressionValidator>
                        <asp:RequiredFieldValidator ID="RequiredSTOCK_PRODUCTOValidator" 
                            runat="server" ControlToValidate="STOCK_PRODUCTOTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td class="style1">
                        Precio Máximo</td>
                    <td class="style2">
                        :</td>
                    <td>
                        <asp:TextBox ID="PRECIO_MAXIMOTextBox" runat="server"
                            Value="0"
                            Text='<%# Bind("PRECIO_MAXIMO") %>' />
                        <asp:RegularExpressionValidator ID="ExpressionPRECIO_MAXIMOValidator" 
                            runat="server" ControlToValidate="PRECIO_MAXIMOTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Numérico" ValidationExpression="\d+"></asp:RegularExpressionValidator>
                        <asp:RequiredFieldValidator ID="RequiredPRECIO_MAXIMOValidator" 
                            runat="server" ControlToValidate="PRECIO_MAXIMOTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td class="style1">
                        Habilitado</td>
                    <td class="style2">
                        :</td>
                    <td>
                        <asp:CheckBox ID="PROD_HABILITADOCheckBox" runat="server" 
                            Checked='<%# Bind("PROD_HABILITADO") %>' />
                    </td>
                </tr>
            </table>
            <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" 
                CommandName="Insert" Text="Insertar" />
            &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" 
                CausesValidation="False" CommandName="Cancel" Text="Cancelar" />
        </InsertItemTemplate>
        <ItemTemplate>
            <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" 
                CommandName="New" Text="Nuevo Producto" />
            <br />
        </ItemTemplate>
        <EmptyDataTemplate>
            <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" 
                CommandName="New" Text="Nuevo Producto" />
        </EmptyDataTemplate>
    </asp:FormView>
</asp:Content>

